package com.ysp.summary.multithread;

import cn.hutool.core.date.StopWatch;
import com.google.common.base.Stopwatch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.ArrayList;
import java.util.List;

/**
 * 设计并发接口执行处理逻辑业务
 * @author ysp
 */
public class ConcurrentInterface {

    @Autowired
    private ThreadPoolTaskExecutor executor;

    /**
     *三种计时工具对比发现：
     * 1.spring和糊涂实现机制一模一样 感觉没啥技术含量
     * 2.apache 一枝羽毛的通用工具类有自己的实现思路和机制 好像都是获取系统的纳秒时间来实现的
     * 3.Google 也是有自己的实现机制 而且构造函数跟其他的也不一样 类名的 w 也没大写与其他的很好区分和标识开来
     *   使用完之后必须要重置 不然又要报错的  api是 reset（）哦
     */
    public static StopWatch timeHutool = new StopWatch();
    public static org.springframework.util.StopWatch timeSpring = new org.springframework.util.StopWatch();
    public static org.apache.commons.lang3.time.StopWatch timeCommonLang = new org.apache.commons.lang3.time.StopWatch();
    public static Stopwatch timeGoogle = Stopwatch.createUnstarted();

    public static void main(String[] args) {
        List<String> list =new ArrayList<>(8);
    }


    private String task(){
        try {
            Thread.sleep(150);
        }catch (InterruptedException e){
            e.printStackTrace();
        }
        return "ysp";
    }


}
